package com.ynet.eq.haiqing.module.datatran.req;

import com.alibaba.fastjson.annotation.JSONField;
import com.ynet.eq.haiqing.common.valid.ListValue;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.util.Date;

/**
 * @author 胡超雄
 * @date 2021/7/6 10:16
 * @desc 4.2.3 多人名单查询  req
 */
@Data
public class QueryUserListReq {

    /**
     * 设备id
     */
    @NotEmpty(message = "设备id不能为空")
    @JSONField(serialize = false)  //忽略当前字段
    private String id;

    /**
     * 人脸识别一体机 id，传入具体键值
     * 则指定匹配机器执行，不传入则订
     * 阅了相同话题的所有机器执行
     */
    @NotEmpty(message = "设备id不能为空")
    private String facesluiceId;


    /**
     * 人员类型 0: 白名单 1: 黑名单
     */
    @ListValue(values = {0, 1}, message = "人员类型参数不正确")
    private Integer personType;

    /**
     * 搜索的起始时间点
     */

    // @JsonProperty("BeginTime")
    @JSONField(format = "yyyy-MM-ddTHH:mm:ss", name = "BeginTime") // fastjson 的转换格式
    private Date beginTime;

    /**
     * 搜索的结束时间点
     */
    @JSONField(format = "yyyy-MM-ddTHH:mm:ss", name = "EndTime")
    private Date endTime;

    /**
     * 性别 0:男 1:女 2:所有
     */
    @ListValue(values = {0, 1, 2}, message = "性别 参数不正确")
    private Integer gender;

    /**
     * 门禁卡号(预留)
     */
    private Integer cardNum2;

    /**
     * 姓名
     */
    private String name;

    /**
     * 查询列表的起始位置,即从第几个
     * 人开始   默认0
     */
    @JSONField(name = "BeginNO")
    private Integer beginNO;

    /**
     * 查询列表返回的消息总数，最大返
     * 回 2000 条(目前不带图片)，设置超
     * 过 2000 条，也只返回 2000 条。
     * 1~2000(默认:100)
     */
    @JSONField(name = "RequestCount")
    private Integer requestCount;

    /**
     * 是否包含图片信息(预留)
     */
    @ListValue(values = {0, 1}, message = "是否包含图片信息 参数不正确")
    @JSONField(name = "Picture")
    @Deprecated
    private Integer picture;


}
